FIG. 1 shows the configuration of a communications feature based on a conventional protocol and a communications interface unit. The communications interface unit 1 is connected to a computer 3 via a system bus 2 and is directly connected to network communications media 4. In the communications interface unit 1, there are a direct memory access (DMA) feature 6 and a communications control feature 7, which are connected to each other by an internal bus 5. In the DMA feature 6 and communications control feature 7, there are control registers 8 and 9. The computer 3 gains access to these registers 8 and 9 via the system bus 2 to control the operation of the communications interface unit 1. The DMA feature 6 directly interacts with the main storage 10 of the computer 3 via the system bus 2, prepares transmission data, and stores received data. The communications control feature 7 drives the communications media 4 and exchanges packets. Also, computer 3 has a CPU 11.
The packet transmission process is described in the following. Data to be transmitted typically consists of data elements distributed in a number of areas in the main storage 10 of the computer 3. The communications interface unit 1 collects such data elements through the DMA feature 6, assembles the data elements into a single packet, and then sends the packet across the communications media 4. According to the example shown in FIG. 2, two packet headers 13 and 16 and three user data 12, 14, and 15 corresponding to the protocol layer are collected and sent. That is, data to be transmitted consists of five data elements.
To collect component elements, the communications control program creates a command queue in the main storage 10 and sets its leading address in the control register 8 of the DMA feature 6. FIG. 3 shows the structure of the command queue required for sending out the data shown in FIG. 2. Each element command 17 in the command queue corresponds to one data element. After the DMA feature 6 is activated, data transfer will start as a transfer start command is given to the control register 9 of the communications control feature 7. The DMA feature 6 reads the address and the length fields of each element command in the command queue, reads data out of the main storage, and transfers the data to the communications control feature 7 via the internal bus 5. The communications control feature 7 produces a packet from the data and sends the packet to the communications media 4.
At the receiving end, the DMA feature 6 must be activated in advance with a plurality of reception buffers assigned by software prior to the arrival of a packet so that a plurality of packets can be received in succession. This is implemented by concatenating a plurality of element commands including addresses and lengths for the respective reception buffers into a DMA command queue. The size of each reception buffer must be set so that the longest packet can be retained.
The communications control feature 7 transfers received packets to the DMA feature 6. The DMA feature 6 dequeues one element command from the DMA command queue and transfers the data to the reception buffer beginning at the address entered. One packet is retained in one reception buffer. The communications control software analyzes the contents of the packet, reads the header, and thus obtains information as to element data count and length. This information agrees with the information provided from the sending software for the DMA feature 6 by the DMA command queue at the transmitting end. This software assigns anew a main storage area to each of the components, copies data from the reception buffer, and thus disassembles the data into components. The reception buffers are then linked to the receiving DMA command queue for reuse.
PUPA No. 62-278843 discloses using DMA to make a protocol converse on in a gateway between heterogeneous networks. The first DMA transfer frequency is counted to facilitate the second DMA transfer on the basis of the counted value. Yet, there is no mention of the transfer of packets including DMA information. By contrast, the present invention embodies the novel concept that assemblage information (i.e. information beyond protocol requirements) should be inserted into packets.